package com.ttg.web.service;

import com.ttg.common.constant.ParentDateTypeConstant;
import com.ttg.common.dto.TagProducer;
import com.ttg.common.entities.BaseResult;
import com.ttg.common.enums.ConditionsClassEnum;
import com.ttg.model.dto.TagInfoDTO;
import com.ttg.model.pojo.*;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Set;

/**
 * @author zhangHongYuan
 * @description
 * @date 2024/1/23 10:50
 */
public interface ManageTagInfoService {

    void  getDataByFileTwo(String filePath,Integer type);

    void  getDataByFile(String filePath,Integer type);

    void  vipTagBind();

    void  mctTagBind();


    ParentDateTypeConstant getParentDateTypeConstant(Long dataTypeId);


    void asyncUpdateVipTag(Long tagId, List<ConditionsInfo> byTagId, LocalDateTime updateTime,Integer tagHisId);

    void asyncUpdateMctTag(Long tagId,List<ConditionsInfo> byTagId, LocalDateTime updateTime,Integer tagHisId);

    void forPrivateTagProducer(List<TagProducer> tags, Long tagId, LocalDateTime updateTime,Integer tagHisId);

    void forPublicTagProducer(List<TagProducer> tags,List<TagProducer> privateTags, Long tagId, LocalDateTime updateTime,Integer tagHisId);

    BaseResult backUp();

    void updateTagHis(TagInfo t, Integer tagHisId, Integer status,Set<Long> deleteVipMap);

    Integer addTagHis(TagInfo t);

    String forPublicJoinPrivateTagProducer(List<TagProducer> tags);

}
